package com.developer.platform.domain.service;

import com.developer.platform.infrastructure.enums.LoginType;
import org.springframework.security.core.Authentication;

/**
 * @author ：qiaoliang
 * @date ：2020-11-09
 */
public interface ILoginService {

    /**
     *  登录
     *
     * @author ：qiaoliang
     * @param principal : 标识（手机号 邮箱 用户名或第三方应用的唯一标识）
     * @param credentials : 密码凭证（站内的保存密码，站外的不保存或保存token）
     * @return org.springframework.security.core.Authentication
     * @date 2020-11-09 10:39
     */
    Authentication login(Object principal, Object credentials);

    /***
     *  登录类型（手机号 邮箱 用户名）或第三方应用名称（微信 微博等）
     *
     * @author ：qiaoliang
     * @return com.microorganism.platform.infrastructure.enums.LoginType
     * @date 2020-11-09 10:41
     */
    LoginType only();

}
